package hyy_2022;

import java.util.Arrays;

/**
 * 整数数组,找出其中最小的K个数
 * arr = [3,2,1]  K=2
 * 结果: [1,2] 或 [2,1]
 */
public class _0805_Offer40_LeastNumbers {

    public static void main(String[] args) {
        int[] arr = {3,2,1};
        System.out.println(Arrays.toString(getLeastNumbers(arr,2)));
    }


    /**
     * 胡瑶瑶解题思路:
     * 1、用数组工具类Arrays.sort() 将数组递增排序
     * 2、截取排序后数组前k个数
     * @param arr 整数数组
     * @param k 最小的第k个数
     * @return int[]  最小第k个数数组
     */
    public static int[] getLeastNumbers(int[] arr, int k) {
        if(arr == null) {
            return null;
        }
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
        int[] leastNumArr = new int[k];
        for(int i=0;i<k;i++) {
            leastNumArr[i] = arr[i];
        }
        return leastNumArr;
    }

}
